package cn.zhentao.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.web.SecurityFilterChain;

/**
 * Security 配置（Ai-vip 模块）
 * 需求：
 * - 不使用基础认证（Basic Auth），避免浏览器弹出账号密码对话框
 * - 前端可携带 Bearer Token（不强制校验，后续有需要可接入 JWT 解析）
 * - 允许所有接口匿名访问（/vip/** 等）
 */
@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            // 关闭 CSRF 与默认登录、Basic 认证，避免浏览器弹窗
            .csrf(csrf -> csrf.disable())
            .httpBasic(basic -> basic.disable())
            .formLogin(form -> form.disable())

            // 允许跨域（如需要更细粒度，可另外定义 CorsConfigurationSource）
            .cors(Customizer.withDefaults())

            // 所有请求均可匿名访问
            .authorizeHttpRequests(auth -> auth
                .anyRequest().permitAll()
            );

        // 也可按需添加 headers 设置
        return http.build();
    }
}

